package com.xin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xin.entity.crm.EmployEntity;
import com.xin.entity.crm.dto.LoginDto;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;


public interface EmployeeService extends IService<EmployEntity> {

    /**
     * 查询所有员工信息
     * @param page
     * @param size
     * @return
     */
    Page<EmployEntity> findAll(Integer page,Integer size);


    /**
     * 员工登录
     * @param employEntity
     * @return
     */
    LoginDto employeeLogin(EmployEntity employEntity);

    /**
     * 添加所有员工信息
     * @param employEntity
     * @return
     */
    Integer add(EmployEntity employEntity);

    /**
     * 更新员工信息
     * @param employEntity
     * @return
     */
    Integer update(EmployEntity employEntity);

    /**
     * 批量删除员工信息
     * @param ids
     * @return
     */
    Integer deleteBatch(List<Long> ids);

    /**
     * 根据员工名称模糊查询员工信息
     * @param name
     * @return
     */
    Page<EmployEntity> findByNameLike(String name,Integer page,Integer size);

    /**
     * 校验员工数据信息
     * @param employEntity
     */
    void checkEmployData(EmployEntity employEntity);


    /**
     * 根据员工id查找
     * @param employeeId
     * @return
     */
    EmployEntity findById(Long employeeId);

    /**
     * 导出全部员工数据
     * @param response
     */
    void exportAllData(HttpServletResponse response);

    /**
     * 导出指定数据
     * @param
     * @param response
     */
    void exportData(List<EmployEntity> list,HttpServletResponse response);


    /**
     * 导入数据
     * @param file
     * @return
     */
    Integer importData(MultipartFile file,HttpServletResponse response);


}
